"""
    datetime模块 可以更方便的显示日期并对日期进行运算。

    datetime.datetime           表示日期时间的类
    datetime.timedelta          表示时间间隔的类
    datetime.date               表示日期的类
    datetime.time               表示时间的类
    datetime.tzinfo             表示相关的类
"""
from datetime import datetime       # 从datetime模块中  导入 datetime类

dt = datetime.now()
print('当前的系统时间为：', dt)

# datetime是一个类，手动创建这个类的对象
dt2 = datetime(2024, 9, 20, 15, 57, 20)
print('dt2的数据类型：', type(dt2))
print('dt2的所表示的日期时间：', dt2)
print('年：', dt2.year)
print('月：', dt2.month)
print('日：', dt2.day)
print('时：', dt2.hour)
print('分：', dt2.minute)
print('秒：', dt2.second)

# 比较两个datetime类型对象的大小
a_day = datetime(2024, 7, 18, 11, 55, 20)
b_day = datetime(2024, 9, 20, 15, 57, 20)
print('2024年7月18日比2024年9月20日早吗？', a_day < b_day)

""" 
    datetime类型与字符串进行转换  
"""
nowdt = datetime.now()
nowdt_str = nowdt.strftime('%Y/%m/%d %H:%M:%S')
print('nowdt的数据类型：', type(nowdt), 'nowdt所表示的数据是什么？', nowdt)
print('nowdt_str的数据类型：', type(nowdt_str), 'nowdt_str所表示的数据是什么？', nowdt_str)

""" 
    字符串类型转换成datetime类型
"""
str_datetime = '2024年09月29日 20点8分'
dt3 = datetime.strptime(str_datetime, '%Y年%m月%d日 %H点%M分')
print('str_datetime的数据类型：', type(str_datetime), 'str_datetime所表示的数据：', str_datetime)
print('dt3的数据类型：', type(dt3), 'dt3所表示的数据：', dt3)
